package cn.yunhe.java.service;

import cn.yunhe.java.object.TableData;
import cn.yunhe.java.pojo.SysRoles;
import cn.yunhe.java.vo.ZTreeNode;
import org.springframework.security.core.authority.SimpleGrantedAuthority;

import java.util.List;
import java.util.Map;

public interface RoleService {

    /**
     * 根据条件查询角色信息
     * @param roleName
     * @param roleStatus
     * @return
     */
    TableData queryRolesByCondition(String roleName,Integer roleStatus,int page,int limit);

    /**
     * 修改角色状态
     * @param roleId
     * @param roleStatus
     * @return
     */
    int updateRoleStatus(Integer roleId, Integer roleStatus);

    /**
     * 保存角色信息
     * @param su
     * @return
     */
    int saveRole(SysRoles su);

    /**
     * 删除角色信息
     * @param roleId
     * @return
     */
    int deleteRole(Integer roleId);

    /**
     * 根据roleId查询角色信息
     * @param roleId
     * @return
     */
    SysRoles queryOne(Integer roleId);

    /**
     * 修改角色信息
     * @param sr
     * @return
     */
    int updateRoles(SysRoles sr);

    /**
     * 生成权限数
     * @param roleId
     * @return
     */
    List<ZTreeNode> createTree(Integer pMenuId,Integer roleId);

    /**
     * 授权
     * @param roleId
     * @param rightsIds
     * @return
     */
    int saveRoleRights(Integer roleId, String[] rightsIds);

    /**
     * 取角色和按钮(权限)信息
     */
    List<Map<String,String>> queryAllRights(Integer userId);


}
